package ejb;

import Entities.Mesa;
import Entities.Reserva;
import java.util.List;
import javax.ejb.Local;

@Local
public interface ReservaFacadeLocal {

    void crear(Reserva reserva) throws Exception;

    void editar(Reserva reserva) throws Exception;

    void eliminar(Reserva reserva) throws Exception;

    Reserva buscarPorId(Object id) throws Exception;

    List<Reserva> listarTodo() throws Exception;

    List<Reserva> buscarRango(int[] range) throws Exception;

    int contar() throws Exception;

    int contarConParametros(List<Condicional> condicionales, String adicional) throws Exception;

    List<Reserva> buscarReservas(int maximo) throws Exception;

    List<Reserva> buscarConParametros(List<Condicional> condicionales) throws Exception;

    List<Reserva> buscarConParametros(List<Condicional> condicionales, String adicional) throws Exception;

    List<Reserva> buscarConParametros(List<Condicional> condicionales, String adicional, int[] rango) throws Exception;

    void establecerOrdenacion(String campoOrdenado, Orden orden) throws Exception;

    public boolean reservar(Reserva reserva) throws Exception;

    public List<Mesa> mesasParaReservar(Reserva reserva);

    public List<Object> mesasSeleccionadas(Reserva reserva);
}
